de.bsvrz.ste.stealgsba.algorithmen.stau
Class StauTest

java.lang.Object
  extended by de.bsvrz.ste.stealgsba.algorithmen.stau.StauTest
All Implemented Interfaces:
de.bsvrz.ste.stealgsba.algorithmen.lib.INeueDatenListener, java.util.EventListener

public class StauTest
extends java.lang.Object
implements de.bsvrz.ste.stealgsba.algorithmen.lib.INeueDatenListener

Klasse für die Durchführung der Prüffälle 13.8 und 13.9 wie in der Prüfspezifikation beschrieben.

Version:
$Revision: 1.3 $ / $Date: 2013/09/13 04:43:19 $ / ($Author: Asal $)
Author:
Swarco Traffic Systems GmbH, Rolf Asal

Nested Class Summary
static class StauTest.Prueffall
          Definition der Prueffälle.
 
Field Summary
private static de.bsvrz.ste.stealgsba.algorithmen.stau.StauAlg m_alg
          Zugriff auf die Instanz des Algorithmus.
private static de.bsvrz.ste.stealgsba.algorithmen.lib.SituationAnalyseMq m_analyseMq
          Analysedaten.
private static boolean m_analyseMqErhalten
          Flag Analysedaten erhalten.
private static java.lang.String m_anlage
          Pid der Streckenbeeinflussungsanlage.
private static de.bsvrz.dav.daf.main.ClientDavInterface m_connection
          Datenverteilerverbindung.
private static de.bsvrz.dav.daf.main.config.DataModel m_dataModel
          Aktuelles Datenmodell.
private static boolean m_datenErhalten
          Flag Daten erhalten.
private static de.bsvrz.dav.daf.main.ResultData m_DatensatzEinzelsituationVorstufe
          Datensatz Einzelsituationvorstufe.
private static java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> m_fahrstreifen
          Liste mit Fahrstreifenobjekten.
private static java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> m_messquerschnitte
          Liste mit Messquerschnitten.
private static java.lang.String m_nameUe
          Name der Ursacheneinheit.
private static java.lang.Object m_objekt
          Synchronisierungsobjekt.
private static java.lang.Object m_objekt2
          Synchronisierungsobjekt.
private static java.lang.String m_pidAnzeige
          Pid der Anzeige.
private static java.lang.String m_pidMessQuerschnitt
          Pid des Messquerschnitt.
private static java.lang.String m_pidUe
          Pid der Ursacheneinheit.
private static de.bsvrz.ste.stealgsba.algorithmen.lib.StaukriteriumErgebnis m_staukriterium
          Ergebnisse der Staukriterien.
private static boolean m_staukriteriumErhalten
          Flag Staukriterium erhalten.
private static java.lang.String m_typUe
          Typ der Ursacheneinheit.
private static de.bsvrz.sys.funclib.vewdynobj.VerwaltungDynObj m_vdo
          Zugriff auf die Instanz der Verwaltung dynamischer Objekte.
 
Constructor Summary
StauTest()
           
 
Method Summary
private static java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> bestimmeFahrstreifenMq(de.bsvrz.dav.daf.main.config.SystemObject mq)
          Bestimmt die Fahrstreifen des übergebenen Messquerschnitts.
private  boolean bestimmeStatusEinzelsituationVorstufe()
          Bestimmt den aktuellen Zustand der Einzelsituationvorstufe des empfangenen Datensatzes.
private static java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> bildeListeFahrstreifen(java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> mqs)
          Erzeugt eine Liste mit Fahrstreifen für die übergebene Liste der Messquerschnitte.
private  de.bsvrz.dav.daf.main.Data erzeugeAtgEinzelMassnahme(de.bsvrz.ste.stealgsba.algorithmusrahmen.Massnahmenanforderung massnahmenanforderung)
          Diese Methode erzeugt einen Datensatz der Attributgruppe atg.sswSbaEinzelMassnahme und gibt ihn zurück.
private  de.bsvrz.dav.daf.main.Data erzeugeAtgMqZuordnung()
          Diese Methode erzeugt einen Datensatz der Attributgruppe atg.sswSbaUeMqZuordnung und gibt ihn zurück.
private  de.bsvrz.dav.daf.main.Data erzeugeAtgParameterStauBeleg(StauTest.Prueffall prueffall)
          Diese Methode erzeugt einen Datensatz der Attributgruppe atg.sswSbaUeStauBeleg und gibt ihn zurück.
private  de.bsvrz.dav.daf.main.Data erzeugeAtgUrsachenEinheit()
          Diese Methode erzeugt einen Datensatz der Attributgruppe atg.sswSbaUrsachenEinheit und gibt ihn zurück.
private  de.bsvrz.dav.daf.main.Data erzeugeAtgVerkehrsDatenKurzZeitFs(int qkfz, int vkfz, int qlkw, int vlkw, int qpkw, int vpkw, int skfz, int b)
          Diese Methode erzeugt einen Datensatz der Attributgruppe atg.verkehrsDatenKurzZeitFs und gibt ihn zurück.
private  de.bsvrz.dav.daf.main.Data erzeugeAtgVerkehrsDatenKurzZeitIntervall(int qkfz, int vkfz, int qlkw, int vlkw, int qpkw, int vpkw, int skfz)
          Diese Methode erzeugt einen Datensatz der Attributgruppe atg.verkehrsDatenKurzZeitIntervall und gibt ihn zurück.
private  de.bsvrz.dav.daf.main.Data erzeugeAtgVerkehrsDatenKurzZeitMq(int qkfz, int vkfz, int qb, int alkw)
          Diese Methode erzeugt einen Datensatz der Attributgruppe atg.verkehrsDatenKurzZeitMq und gibt ihn zurück.
private  de.bsvrz.dav.daf.main.Data erzeugeAtgVerkehrsDatenKurzZeitTrendExtraPolationMq(int qkfz, int vkfz, int qb)
          Diese Methode erzeugt einen Datensatz der Attributgruppe atg.verkehrsDatenKurzZeitTrendExtraPolationMq und gibt ihn zurück.
private  de.bsvrz.ste.stealgsba.algorithmusrahmen.Massnahmenanforderung erzeugeMassnahmenAnforderung(de.bsvrz.dav.daf.main.config.SystemObject anzeige)
          Methode erzeugt eine Maßnahmenanforderung mit der für eine Anzeige ein bestimmter WVZ-Inhalt für einen bestimmten Schaltgrund angefordert wird
 void neueDaten(de.bsvrz.dav.daf.main.ResultData rdata)
          Informiert die angemeldeten Listener über neue Daten.
 void neueDatenSituationAnalyseMq(de.bsvrz.ste.stealgsba.algorithmen.lib.SituationAnalyseMq analyse)
          Informiert die angemeldeten Listener über neue Analysedaten.
 void neueDatenStaukriterium(de.bsvrz.ste.stealgsba.algorithmen.lib.StaukriteriumErgebnis staukriterium)
          Informiert die angemeldeten Listener über neue Analysedaten Staukriterium.
private  void parametriereDynObjUrsachenEinheit(de.bsvrz.dav.daf.main.config.DynamicObject ue, de.bsvrz.dav.daf.main.Data atgParam, de.bsvrz.dav.daf.main.Data atgEm, de.bsvrz.dav.daf.main.Data atgUe, de.bsvrz.dav.daf.main.Data atgMq)
          Diese Methode parametriert das übergebene Objekt mit den übergebenen Datensätze.
private  void prueffall_13_8_Parametrierung(StauTest.Prueffall prueffall)
          In diesem Tesfall werden folgende Attribitgruppen der Ursacheneinheit parametriert.
private  void prueffall_13_8_Test_1()
          In dieser Methode wird der Testfall 13.8 (1) entsprechend der Prüfspezifikation durchgeführt.
private  void prueffall_13_8_Test_2()
          In dieser Methode wird der Testfall 13.8 (2) entsprechend der Prüfspezifikation durchgeführt.
private  void prueffall_13_8_Test_3()
          In dieser Methode wird der Testfall 13.8 (3) entsprechend der Prüfspezifikation durchgeführt.
private  void prueffall_13_8_Test_4()
          In dieser Methode wird der Testfall 13.8 (4) entsprechend der Prüfspezifikation durchgeführt.
private  void prueffall_13_8_Test_5()
          In dieser Methode wird der Testfall 13.8 (5) entsprechend der Prüfspezifikation durchgeführt.
private  void prueffall_13_8_Vorbereitung()
          In diesem Testfall wird überprüft, ob die für den JUnitTest notwendige Ursacheneinheit korrekt erstellt wurde und vom Steuerungsalgorithmus bearbeitet wird.
 void prueffall_13_8()
          In diesem Testfall werden die in der Prüfspezifikation definierten Testfälle für den Prüffall 13.8 durchgeführt.
private  void prueffall_13_9_Test_2()
          In dieser Methode wird der Testfall 13.8 (2) entsprechend der Prüfspezifikation durchgeführt.
 void prueffall_13_9()
          In diesem Testfall werden die in der Prüfspezifikation definierten Testfälle für den Prüffall 13.9 durchgeführt.
 void setUp()
           
static void setUpBeforeClass()
          Initialisiert die Testumgebung.
 void tearDown()
           
static void tearDownAfterClass()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_connection

private static de.bsvrz.dav.daf.main.ClientDavInterface m_connection
Datenverteilerverbindung.


m_dataModel

private static de.bsvrz.dav.daf.main.config.DataModel m_dataModel
Aktuelles Datenmodell.


m_typUe

private static java.lang.String m_typUe
Typ der Ursacheneinheit.


m_pidUe

private static java.lang.String m_pidUe
Pid der Ursacheneinheit.


m_nameUe

private static java.lang.String m_nameUe
Name der Ursacheneinheit.


m_anlage

private static java.lang.String m_anlage
Pid der Streckenbeeinflussungsanlage.


m_objekt

private static java.lang.Object m_objekt
Synchronisierungsobjekt.


m_objekt2

private static java.lang.Object m_objekt2
Synchronisierungsobjekt.


m_pidAnzeige

private static java.lang.String m_pidAnzeige
Pid der Anzeige.


m_pidMessQuerschnitt

private static java.lang.String m_pidMessQuerschnitt
Pid des Messquerschnitt.


m_DatensatzEinzelsituationVorstufe

private static de.bsvrz.dav.daf.main.ResultData m_DatensatzEinzelsituationVorstufe
Datensatz Einzelsituationvorstufe.


m_analyseMq

private static de.bsvrz.ste.stealgsba.algorithmen.lib.SituationAnalyseMq m_analyseMq
Analysedaten.


m_alg

private static de.bsvrz.ste.stealgsba.algorithmen.stau.StauAlg m_alg
Zugriff auf die Instanz des Algorithmus.


m_vdo

private static de.bsvrz.sys.funclib.vewdynobj.VerwaltungDynObj m_vdo
Zugriff auf die Instanz der Verwaltung dynamischer Objekte.


m_fahrstreifen

private static java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> m_fahrstreifen
Liste mit Fahrstreifenobjekten.


m_messquerschnitte

private static java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> m_messquerschnitte
Liste mit Messquerschnitten.


m_datenErhalten

private static boolean m_datenErhalten
Flag Daten erhalten.


m_analyseMqErhalten

private static boolean m_analyseMqErhalten
Flag Analysedaten erhalten.


m_staukriterium

private static de.bsvrz.ste.stealgsba.algorithmen.lib.StaukriteriumErgebnis m_staukriterium
Ergebnisse der Staukriterien.


m_staukriteriumErhalten

private static boolean m_staukriteriumErhalten
Flag Staukriterium erhalten.

Constructor Detail

StauTest

public StauTest()
Method Detail

setUpBeforeClass

public static void setUpBeforeClass()
                             throws java.lang.Exception
Initialisiert die Testumgebung.

Throws:
java.lang.Exception

tearDownAfterClass

public static void tearDownAfterClass()
                               throws java.lang.Exception
Throws:
java.lang.Exception

setUp

public void setUp()
           throws java.lang.Exception
Throws:
java.lang.Exception

tearDown

public void tearDown()
              throws java.lang.Exception
Throws:
java.lang.Exception

prueffall_13_8

public final void prueffall_13_8()
In diesem Testfall werden die in der Prüfspezifikation definierten Testfälle für den Prüffall 13.8 durchgeführt.


prueffall_13_9

public final void prueffall_13_9()
In diesem Testfall werden die in der Prüfspezifikation definierten Testfälle für den Prüffall 13.9 durchgeführt.


prueffall_13_8_Vorbereitung

private void prueffall_13_8_Vorbereitung()
In diesem Testfall wird überprüft, ob die für den JUnitTest notwendige Ursacheneinheit korrekt erstellt wurde und vom Steuerungsalgorithmus bearbeitet wird. Überprüft wird hierzu der Empfang der Statusinformation "EinzelsituationVorstufe", die nach dem Berechnen versendet wird.


prueffall_13_8_Parametrierung

private void prueffall_13_8_Parametrierung(StauTest.Prueffall prueffall)
In diesem Tesfall werden folgende Attribitgruppen der Ursacheneinheit parametriert.

- atg.sswSbaEinzelMassnahme
- atg.sswSbaUrsachenEinheit
- atg.sswSbaUeMqZuordnung


prueffall_13_8_Test_1

private void prueffall_13_8_Test_1()
In dieser Methode wird der Testfall 13.8 (1) entsprechend der Prüfspezifikation durchgeführt.

Zuerst werden die entsprechenden Daten eingespielt, nach einer kurzen Pause wird die Methode StarteBerechnung des Algorithmus ausgeführt und auf das Ergebnis gewartet. Nach dem der Status empfangen wurde, wird das Ergebnis überprüft.


prueffall_13_8_Test_2

private void prueffall_13_8_Test_2()
In dieser Methode wird der Testfall 13.8 (2) entsprechend der Prüfspezifikation durchgeführt.

Zuerst werden die entsprechenden Daten eingespielt, nach einer kurzen Pause wird die Methode StarteBerechnung des Algorithmus ausgeführt und auf das Ergebnis gewartet. Nach dem der Status empfangen wurde, wird das Ergebnis überprüft.


prueffall_13_9_Test_2

private void prueffall_13_9_Test_2()
In dieser Methode wird der Testfall 13.8 (2) entsprechend der Prüfspezifikation durchgeführt.

Dieser Test entspricht dem Test 13.8 (2). Aufgrund der Parameteränderung ist aber das Ergebnis zu 13.8 unterschiedlich.


prueffall_13_8_Test_3

private void prueffall_13_8_Test_3()
In dieser Methode wird der Testfall 13.8 (3) entsprechend der Prüfspezifikation durchgeführt.

Zuerst werden die entsprechenden Daten eingespielt, nach einer kurzen Pause wird die Methode StarteBerechnung des Algorithmus ausgeführt und auf das Ergebnis gewartet. Nach dem der Status empfangen wurde, wird das Ergebnis überprüft.


prueffall_13_8_Test_4

private void prueffall_13_8_Test_4()
In dieser Methode wird der Testfall 13.8 (4) entsprechend der Prüfspezifikation durchgeführt.

Zuerst werden die entsprechenden Daten eingespielt, nach einer kurzen Pause wird die Methode StarteBerechnung des Algorithmus ausgeführt und auf das Ergebnis gewartet. Nach dem der Status empfangen wurde, wird das Ergebnis überprüft.


prueffall_13_8_Test_5

private void prueffall_13_8_Test_5()
In dieser Methode wird der Testfall 13.8 (5) entsprechend der Prüfspezifikation durchgeführt.

Zuerst werden die entsprechenden Daten eingespielt, nach einer kurzen Pause wird die Methode StarteBerechnung des Algorithmus ausgeführt und auf das Ergebnis gewartet. Nach dem der Status empfangen wurde, wird das Ergebnis überprüft.


neueDaten

public void neueDaten(de.bsvrz.dav.daf.main.ResultData rdata)
Description copied from interface: de.bsvrz.ste.stealgsba.algorithmen.lib.INeueDatenListener
Informiert die angemeldeten Listener über neue Daten.

Specified by:
neueDaten in interface de.bsvrz.ste.stealgsba.algorithmen.lib.INeueDatenListener
Parameters:
rdata - neuer Datensatz

bildeListeFahrstreifen

private static java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> bildeListeFahrstreifen(java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> mqs)
Erzeugt eine Liste mit Fahrstreifen für die übergebene Liste der Messquerschnitte.

Parameters:
mqs - Liste mit Messquerschnitten.
Returns:
Liste mit Fahrstreifenobjekte.

bestimmeFahrstreifenMq

private static java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> bestimmeFahrstreifenMq(de.bsvrz.dav.daf.main.config.SystemObject mq)
Bestimmt die Fahrstreifen des übergebenen Messquerschnitts.

Parameters:
mq - Messquerschnitt.
Returns:
Liste der Fahrstreifenobjekte.

bestimmeStatusEinzelsituationVorstufe

private boolean bestimmeStatusEinzelsituationVorstufe()
Bestimmt den aktuellen Zustand der Einzelsituationvorstufe des empfangenen Datensatzes.

Returns:
true wenn Einzelsituationvorstufe wahr, ansonsten false.

erzeugeAtgEinzelMassnahme

private de.bsvrz.dav.daf.main.Data erzeugeAtgEinzelMassnahme(de.bsvrz.ste.stealgsba.algorithmusrahmen.Massnahmenanforderung massnahmenanforderung)
Diese Methode erzeugt einen Datensatz der Attributgruppe atg.sswSbaEinzelMassnahme und gibt ihn zurück.

Parameters:
massnahmenanforderung - Daten der Massnahmeanforderung.
Returns:
Datensatz atg.sswSbaEinzelMassnahme.

erzeugeAtgUrsachenEinheit

private de.bsvrz.dav.daf.main.Data erzeugeAtgUrsachenEinheit()
Diese Methode erzeugt einen Datensatz der Attributgruppe atg.sswSbaUrsachenEinheit und gibt ihn zurück.

Returns:
Datensatz atg.sswSbaUrsachenEinheit.

erzeugeAtgMqZuordnung

private de.bsvrz.dav.daf.main.Data erzeugeAtgMqZuordnung()
Diese Methode erzeugt einen Datensatz der Attributgruppe atg.sswSbaUeMqZuordnung und gibt ihn zurück.

Returns:
Datensatz atg.sswSbaUeMqZuordnungt.

erzeugeAtgVerkehrsDatenKurzZeitMq

private de.bsvrz.dav.daf.main.Data erzeugeAtgVerkehrsDatenKurzZeitMq(int qkfz,
                                                                     int vkfz,
                                                                     int qb,
                                                                     int alkw)
Diese Methode erzeugt einen Datensatz der Attributgruppe atg.verkehrsDatenKurzZeitMq und gibt ihn zurück.

Returns:
Datensatz atg.verkehrsDatenKurzZeitMq.

erzeugeAtgVerkehrsDatenKurzZeitIntervall

private de.bsvrz.dav.daf.main.Data erzeugeAtgVerkehrsDatenKurzZeitIntervall(int qkfz,
                                                                            int vkfz,
                                                                            int qlkw,
                                                                            int vlkw,
                                                                            int qpkw,
                                                                            int vpkw,
                                                                            int skfz)
Diese Methode erzeugt einen Datensatz der Attributgruppe atg.verkehrsDatenKurzZeitIntervall und gibt ihn zurück.

Returns:
Datensatz atg.verkehrsDatenKurzZeitIntervall.

erzeugeAtgVerkehrsDatenKurzZeitFs

private de.bsvrz.dav.daf.main.Data erzeugeAtgVerkehrsDatenKurzZeitFs(int qkfz,
                                                                     int vkfz,
                                                                     int qlkw,
                                                                     int vlkw,
                                                                     int qpkw,
                                                                     int vpkw,
                                                                     int skfz,
                                                                     int b)
Diese Methode erzeugt einen Datensatz der Attributgruppe atg.verkehrsDatenKurzZeitFs und gibt ihn zurück.

Returns:
Datensatz atg.verkehrsDatenKurzZeitFs.

erzeugeAtgVerkehrsDatenKurzZeitTrendExtraPolationMq

private de.bsvrz.dav.daf.main.Data erzeugeAtgVerkehrsDatenKurzZeitTrendExtraPolationMq(int qkfz,
                                                                                       int vkfz,
                                                                                       int qb)
Diese Methode erzeugt einen Datensatz der Attributgruppe atg.verkehrsDatenKurzZeitTrendExtraPolationMq und gibt ihn zurück.

Returns:
Datensatz atg.verkehrsDatenKurzZeitTrendExtraPolationMq.

erzeugeAtgParameterStauBeleg

private de.bsvrz.dav.daf.main.Data erzeugeAtgParameterStauBeleg(StauTest.Prueffall prueffall)
Diese Methode erzeugt einen Datensatz der Attributgruppe atg.sswSbaUeStauBeleg und gibt ihn zurück.

Returns:
Datensatz atg.sswSbaUeStauBeleg.

erzeugeMassnahmenAnforderung

private de.bsvrz.ste.stealgsba.algorithmusrahmen.Massnahmenanforderung erzeugeMassnahmenAnforderung(de.bsvrz.dav.daf.main.config.SystemObject anzeige)
Methode erzeugt eine Maßnahmenanforderung mit der für eine Anzeige ein bestimmter WVZ-Inhalt für einen bestimmten Schaltgrund angefordert wird

Parameters:
anzeige - Anzeige die geschaltet werden soll
Returns:
erzeugte Maßnahmenanforderung

parametriereDynObjUrsachenEinheit

private void parametriereDynObjUrsachenEinheit(de.bsvrz.dav.daf.main.config.DynamicObject ue,
                                               de.bsvrz.dav.daf.main.Data atgParam,
                                               de.bsvrz.dav.daf.main.Data atgEm,
                                               de.bsvrz.dav.daf.main.Data atgUe,
                                               de.bsvrz.dav.daf.main.Data atgMq)
Diese Methode parametriert das übergebene Objekt mit den übergebenen Datensätze. Wird null übergeben wird die entsprechende Attributgruppe nicht parametriert.

Parameters:
ue - Dyn. Objekt Ursacheneinheit.
atgSp - Datensatz atg.sswSbaUeStauBeleg.
atgEm - Datensatz atg.sswSbaEinzelMassnahme.
atgUe - Datensatz atg.sswSbaUrsachenEinheit.
atgmq - Datensatz atg.sswSbaUeMqZuordnung.

neueDatenSituationAnalyseMq

public void neueDatenSituationAnalyseMq(de.bsvrz.ste.stealgsba.algorithmen.lib.SituationAnalyseMq analyse)
Description copied from interface: de.bsvrz.ste.stealgsba.algorithmen.lib.INeueDatenListener
Informiert die angemeldeten Listener über neue Analysedaten.

Specified by:
neueDatenSituationAnalyseMq in interface de.bsvrz.ste.stealgsba.algorithmen.lib.INeueDatenListener
Parameters:
analyse - Neue Analysedaten.

neueDatenStaukriterium

public void neueDatenStaukriterium(de.bsvrz.ste.stealgsba.algorithmen.lib.StaukriteriumErgebnis staukriterium)
Description copied from interface: de.bsvrz.ste.stealgsba.algorithmen.lib.INeueDatenListener
Informiert die angemeldeten Listener über neue Analysedaten Staukriterium.

Specified by:
neueDatenStaukriterium in interface de.bsvrz.ste.stealgsba.algorithmen.lib.INeueDatenListener